Route::get('/findwhere', function(){
$post = News::where('id',1)->orderBy('title','desc')->take(1)->get();
return $post;
});
where:收尋特定欄位的資料,這邊會找到id=1的那一筆資料。
orderBy:針對某個去做排序的行為,又有分兩種,ASC為由小至大排列,DESC由大至小排列,如果都沒下這兩個參數,預設為由小至大派列的方法。
take:限定取得幾筆資料,假設結果收尋到很多比資料,這邊為1所以只會顯示一筆出來。
get:取出該筆資料,沒有get會出錯
$post = News::where('id','>',0)->orderBy('title','desc')->get();
where裡面也可以大於或小於的條件,來搜尋你要的資料
Route::get('/inserdata',function(){
$post = new News;
$post->title = 'goodjob';
$post->description = '這是一則描述';
$post->save();
});
使用model來新增一筆資料,而不只是用sql來新增料,可以看到要先new一個News的物件,存在$post的變數裡面,接著新增title和description的資料,最後記得新增完必須要下save()來儲存這個物件的資料,新增完以後就可以去資料庫看到多一筆資料了。
透過create新增資料的時候,記得也要在model裡面新增允許的欄位,這樣create才不會出錯,也確保了只有特定欄位的資料才能存進去。
Route::get('/create', function(){
News::create(['title'=>'利用create新增的','description'=>'create的描述']);
});
class News extends Model
{
//
protected $table = 'news';
protected $fillable = ['title','description'];
}